package dietmar.ckm2;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.border.TitledBorder;
import javax.swing.border.LineBorder;
import java.awt.Color;

public class DruzynaGui extends JFrame {

	private JPanel contentPane;
	private JTextField txtNazwaDruzyny;
	private JTextField txtIloscZawodnikow;
	private KlubGui klubgui;
	private Druzyna druzyna;
	private TrenerGui trenergui;
	private JList list = new JList();
	private JTextField txtTrener;
	private JTextField txtUmiejetnosc;
	private JTextField txtSrednia;
	private JButton btnUsunZawodnika;
	private JButton btnEdytujZawodnika;
	private JButton btnDodajzawodnika;
	private ZawodnikGui zawodnikgui;

	

	

	/**
	 * Create the frame.
	 */
	public DruzynaGui(KlubGui klubgui) {
		Druzyna druzyna= new Druzyna();
		this.druzyna=druzyna;
		this.klubgui=klubgui;
		ZawodnikGui zawodnikgui = new ZawodnikGui(this);
		this.zawodnikgui=zawodnikgui;

		
		
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 495, 370);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setLayout(null);
		panel.setBounds(0, 0, 487, 336);
		contentPane.add(panel);
		
		JLabel lblNazwaDruzyny = new JLabel("Nazwa Druzyny");
		lblNazwaDruzyny.setBounds(10, 11, 99, 14);
		panel.add(lblNazwaDruzyny);
		
		txtNazwaDruzyny = new JTextField();
		txtNazwaDruzyny.setColumns(10);
		txtNazwaDruzyny.setBounds(119, 8, 125, 20);
		panel.add(txtNazwaDruzyny);
		
		JLabel lblIloscZawodnkwo = new JLabel("Ilosc zawodnkwo");
		lblIloscZawodnkwo.setBounds(10, 36, 99, 14);
		panel.add(lblIloscZawodnkwo);
		
		txtIloscZawodnikow = new JTextField();
		txtIloscZawodnikow.setEditable(false);
		txtIloscZawodnikow.setColumns(10);
		txtIloscZawodnikow.setBounds(119, 39, 125, 20);
		panel.add(txtIloscZawodnikow);
		
		JButton btnZapisz = new JButton("Zapisz");
		btnZapisz.setBounds(388, 7, 89, 23);
		panel.add(btnZapisz);
		btnZapisz.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				zapisz();
		}
	});
	
		JPanel panel_1 = new JPanel();
		panel_1.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Edytor", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setLayout(null);
		panel_1.setBounds(277, 62, 200, 132);
		panel.add(panel_1);
	 
		
	    btnDodajzawodnika = new JButton("Dodaj Zawodnika");
		btnDodajzawodnika.setBounds(10, 21, 180, 23);
		panel_1.add(btnDodajzawodnika);
		btnDodajzawodnika.setEnabled(false);
		btnDodajzawodnika.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dodaj();
				
			}
		});
		
		btnEdytujZawodnika = new JButton("Edytuj Zawodnika");
		btnEdytujZawodnika.setBounds(10, 55, 180, 23);
		panel_1.add(btnEdytujZawodnika);
		btnEdytujZawodnika.setEnabled(false);
		btnEdytujZawodnika.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				  edytuj();
				
			}
		});
		
		btnUsunZawodnika = new JButton("Usun Zawodnika");
		btnUsunZawodnika.setBounds(10, 89, 180, 23);
		panel_1.add(btnUsunZawodnika);
		btnUsunZawodnika.setEnabled(false);
		btnUsunZawodnika.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				usun();
				odswiez();
			
			}
		});
		
		JPanel panel_2 = new JPanel();
		panel_2.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Zawodnicy", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_2.setLayout(null);
		panel_2.setBounds(10, 62, 257, 195);
		panel.add(panel_2);
		
	
		list.setBounds(10, 21, 237, 163);
		panel_2.add(list);
		list.setListData(druzyna.sklad);
		
		JButton btnPowrot = new JButton("Powrot");
		btnPowrot .setBounds(10, 300, 89, 23);
		panel.add(btnPowrot );
		btnPowrot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			
				powrot();
		
			}
		});
		
		JPanel panel_3 = new JPanel();
		panel_3.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Trener", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_3.setBounds(277, 205, 200, 120);
		panel.add(panel_3);
		panel_3.setLayout(null);
		
		JLabel lblTrener = new JLabel("Trener");
		lblTrener.setBounds(10, 24, 46, 14);
		panel_3.add(lblTrener);
		
		JLabel lblNewLabel_1 = new JLabel("Umiejetnosc");
		lblNewLabel_1.setBounds(10, 49, 71, 14);
		panel_3.add(lblNewLabel_1);
		
		JButton btnZatrudnijzmien = new JButton("Zatrudnij/Zmien");
		btnZatrudnijzmien.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			trenergui.setVisible(true);
			}
		});
		btnZatrudnijzmien.setBounds(34, 74, 134, 23);
		panel_3.add(btnZatrudnijzmien);
		
		txtTrener = new JTextField();
		txtTrener.setBounds(74, 21, 116, 20);
		panel_3.add(txtTrener);
		txtTrener.setColumns(10);
		
		txtUmiejetnosc = new JTextField();
		txtUmiejetnosc.setBounds(151, 46, 39, 20);
		panel_3.add(txtUmiejetnosc);
		txtUmiejetnosc.setColumns(10);
		
		JLabel lblSredniaUmiejetnosc = new JLabel("Srednia umiejetnosc");
		lblSredniaUmiejetnosc.setBounds(10, 268, 112, 14);
		panel.add(lblSredniaUmiejetnosc);
		
		txtSrednia = new JTextField();
		txtSrednia.setBounds(119, 265, 39, 20);
		panel.add(txtSrednia);
		txtSrednia.setColumns(10);
		
		
		
	
	}
	void zapisz()
	{

		
		if(klubgui.getList().getSelectedIndex()<0)	{
			dodajDruzyne();
			
		}
		else 
		{
			
			edytujDruzyne(klubgui.getKlub().zwrocDruzyne(klubgui.getList().getSelectedIndex()));
		
			
		}
		guziki();
		
	}
	void dodaj()
	{
		
		zawodnikgui.setVisible(true);
		  
	}
	void edytuj()
	{
	
		zawodnikgui.uzupelni(zawodnikgui);
	    zawodnikgui.setVisible(true);
	
	}
	void powrot(){
		klubgui.odswiez();
		setVisible(false);
	}
	void dodajDruzyne()
	{	
		
			String nazwa=(txtNazwaDruzyny.getText());
			druzyna.setNazwa(nazwa);
			klubgui.getKlub().dodajDruzyne(druzyna);
			System.out.println("	"+nazwa+" ");
			System.out.println(klubgui.getKlub().iloscDruzyn());
			   
	}
	void edytujDruzyne(Druzyna druzyna)
	{

	    druzyna.setNazwa(txtNazwaDruzyny.getText());
	
	}
	void uzupelni(Druzyna druzyna)
	{
		   System.out.println(druzyna.getSklad().size());
	getTxtNazwaDruzyny().setText(druzyna.getNazwa());	
    getTxtIloscZawodnikow().setText(Integer.toString(druzyna.iloscZawodnikow()));
	getList().setListData(druzyna.getSklad());
	odswiez();
	guziki();
	}
	
	void usun()
	{
		druzyna.usunZawodnika(list.getSelectedIndex());
	}
	void odswiez()
	{
		
		list.setListData(druzyna.sklad);
		getTxtIloscZawodnikow().setText(Integer.toString(druzyna.iloscZawodnikow()));
		getTxtSrednia().setText(Double.toString(getDruzyna().sredniaUmiejetnoscDruzyny(druzyna.iloscZawodnikow())));
		
	}
	void odswieztekst()
	{
		getTxtTrener().setText(getDruzyna().getTrener().toString());
		getTxtUmiejetnosc().setText(Double.toString(getDruzyna().getTrener().getUmiejetnosc()));
	}
	void guziki()
	{
		getBtnEdytujZawodnika().setEnabled(true);
		getBtnDodajzawodnika().setEnabled(true);
		getBtnUsunZawodnika().setEnabled(true);
	}
	
		

		public JTextField getTxtNazwaDruzyny() {
			return txtNazwaDruzyny;
		}
		public void setTxtNazwaDruzyny(JTextField txtNazwaDruzyny) {
			this.txtNazwaDruzyny = txtNazwaDruzyny;
		}
		public JTextField getTxtIloscZawodnikow() {
			return txtIloscZawodnikow;
		}
		public void setTxtIloscZawodnikow(JTextField txtIloscZawodnikow) {
			this.txtIloscZawodnikow = txtIloscZawodnikow;
		}
		public KlubGui getKlubgui() {
			return klubgui;
		}
		public void setKlubgui(KlubGui klubgui) {
			this.klubgui = klubgui;
		}

		public Druzyna getDruzyna() {
			return druzyna;
		}
		public void setDruzyna(Druzyna druzyna) {
			this.druzyna = druzyna;
		}
		public JList getList() {
			return list;
		}
		public void setList(JList list) {
			this.list = list;
		}
		public TrenerGui getTrenergui() {
			return trenergui;
		}
		public void setTrenergui(TrenerGui trenergui) {
			this.trenergui = trenergui;
		}
		public JTextField getTxtTrener() {
			return txtTrener;
		}
		public void setTxtTrener(JTextField txtTrener) {
			this.txtTrener = txtTrener;
		}
		public JTextField getTxtUmiejetnosc() {
			return txtUmiejetnosc;
		}
		public void setTxtUmiejetnosc(JTextField txtUmiejetnosc) {
			this.txtUmiejetnosc = txtUmiejetnosc;
		}
		public JTextField getTxtSrednia() {
			return txtSrednia;
		}
		public void setTxtSrednia(JTextField txtSrednia) {
			this.txtSrednia = txtSrednia;
		}
		public JButton getBtnUsunZawodnika() {
			return btnUsunZawodnika;
		}
		public void setBtnUsunZawodnika(JButton btnUsunZawodnika) {
			this.btnUsunZawodnika = btnUsunZawodnika;
		}
		public JButton getBtnEdytujZawodnika() {
			return btnEdytujZawodnika;
		}
		public void setBtnEdytujZawodnika(JButton btnEdytujZawodnika) {
			this.btnEdytujZawodnika = btnEdytujZawodnika;
		}
		public JButton getBtnDodajzawodnika() {
			return btnDodajzawodnika;
		}
		public void setBtnDodajzawodnika(JButton btnDodajzawodnika) {
			this.btnDodajzawodnika = btnDodajzawodnika;
		}
		
		
		
		
		
}
